/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.igorov.efficientsoft.business.gestorciudad;

import com.igorov.efficientsoft.dataaccess.domain.CiudadDAO;
import com.igorov.efficientsoft.dataaccess.model.TciudadVO;
import com.igorov.efficientsoft.services.CiudadDTO;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;

/**
 *
 * @author igorov
 */
public class GestorCiudadImpl implements GestorCiudad{
    
    private List<TciudadVO> ciudadVOs;
    private CiudadDAO ciudadDAO;

    public CiudadDAO getCiudadDAO() {
        return ciudadDAO;
    }

    public void setCiudadDAO(CiudadDAO ciudadDAO) {
        this.ciudadDAO = ciudadDAO;
    }

    public void deleteById(int i) {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    public void deleteByIndex(int index) {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    public List<CiudadDTO> getAll() {
        updateListVo();
        List<CiudadDTO> ciudadDTOs = new LinkedList<CiudadDTO>();
        for (Iterator<TciudadVO> it = ciudadVOs.iterator(); it.hasNext();) {
            TciudadVO tciudadVO = it.next();
            CiudadDTO ciudadDTO = new CiudadDTO(tciudadVO.getNcodCiu(), tciudadVO.getCnomCiu());
            ciudadDTOs.add(ciudadDTO);
        }
        return ciudadDTOs;
    }

    public CiudadDTO getById(int voId) {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    public CiudadDTO getByIndex(int indice) {
        throw new UnsupportedOperationException("Not supported yet.");
    }
    
    public TciudadVO getVOatIndex(int indice) {
        return ciudadVOs.get(indice);
    }

    public int getIdAtIndex(int indice) {
        return getVOatIndex(indice).getNcodCiu();
    }

    public int getIndexOf(int voId) {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    public void saveOrUpdate(CiudadDTO o) {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    public void updateListVo() {
        ciudadVOs = ciudadDAO.getAll();
    }
    
}
